﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace LBCMS.EntityFrameWork
{
    public class ClassExtraAttribute
    {
        /// <summary>
        /// <para>指定是否初始化为搜索条件</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Search : Attribute
        {
            #region Field
            
          
            #endregion

            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public Search()
            {
               
            }
            #endregion

            

            
        }

        /// <summary>
        /// <para>指定是否初始化为搜索条件</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Inline : Attribute
        {
            
            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public Inline()
            {

            }
            #endregion
            
        }
        /// <summary>
        /// <para>指定是否初始化为搜索条件</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Block : Attribute
        {

            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public Block()
            {

            }
            #endregion

        }
        /// <summary>
        /// <para>指定显示方式为多选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class CheckBoxList : Attribute
        { 
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public CheckBoxList()
            {

            }
            
        }
        /// <summary>
        /// <para>指定显示方式为多选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class ShowInList : Attribute
        {
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public ShowInList()
            {

            }

        }
        /// <summary>
        /// <para>指定显示方式为多选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class OriginalCheckBoxList : Attribute
        {
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public OriginalCheckBoxList()
            {

            }

        }

        /// <summary>
        /// <para>指定显示方式为多选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class TextArea : Attribute
        {
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public TextArea()
            {

            }

        }

        /// <summary>
        /// <para>指定显示方式为多选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Switcher : Attribute
        {
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public Switcher()
            {

            }

        }

        /// <summary>
        /// <para>指定显示方式为单选列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class RadioButtonList : Attribute
        {

            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public RadioButtonList()
            {

            }
            #endregion
        }

        /// <summary>
        /// <para>指定显示方式为下拉列表</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class DropDownList : Attribute
        {

            
            public DropDownList()
            {

            }
            
        }

        /// <summary>
        /// <para>指定控件隐藏，列表页面将不显示</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Hidden : Attribute
        {


            public Hidden()
            {

            }

        }

        /// <summary>
        /// <para>指定显示方式为树</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class DatePicker : Attribute
        {

           
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public DatePicker()
            {

            }
        }

            /// <summary>
            /// <para>指定显示方式为树</para>
            /// </summary>
            [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class Tree : Attribute
        {

            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public Tree()
            {

            }
            #endregion
        }

        /// <summary>
        /// <para>指定代码项</para>
        /// </summary>
        [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
        public sealed class CodeName : Attribute
        {
            #region Field
            public string _codeName = "";

            #endregion

            #region Construct
            /// <summary>
            /// 指定是否初始化为搜索条件
            /// </summary>
            /// <param name="isSearch"></param>
            public CodeName(string codeName)
            {
                iCodeName = codeName;
            }
            #endregion


            /// <summary>
            /// 保留位数（默认4）
            /// </summary>
            public string iCodeName
            {
                get { return this._codeName; }
                set { this._codeName = value; }
            }

        }
    }
}